package py.edu.ucom.poo.waterloo.gui;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Window;
import java.util.GregorianCalendar;

/**
 * @author WaterLooTeam
 * Dentro de esta clase se implementan metodos de UTILIDADES que es codigo reutilizable
 */
public class UtilidadesGui {
	
	public static void centrarVentana(Window window) {
		centrarVentana(window, false);
	}
	
	/**
	 * @param window - recibe la ventana a centrar
	 * @param centrarEnPantalla
	 */
	public static void centrarVentana(Window window, boolean centrarEnPantalla) {
		Dimension contSize;
		int x = 0, y = 0;
		if ((centrarEnPantalla) || (window.getOwner() == null) || (!window.getOwner().isVisible()))
			contSize = Toolkit.getDefaultToolkit().getScreenSize();
		else {
			contSize = new Dimension(window.getOwner().getSize());
			x = window.getOwner().getX();
			y = window.getOwner().getY();
		}
		x += (int) ((contSize.getWidth() - window.getWidth()) / 2);
		y += (int) ((contSize.getHeight() - window.getHeight()) / 2);
		
		window.setBounds(x, y, window.getWidth(), window.getHeight());
	}
	
	/**
	 * @return en Texto de HORAS:MINUTOS
	 * Toma la hora actual para registrala en el LOG
	 */
	public String getHoraActual() {
    	String ret = "";
    	
    	GregorianCalendar gc = new GregorianCalendar();
    	gc.setTimeInMillis(System.currentTimeMillis());
    	
    	ret += completarCampoReloj(gc.get(GregorianCalendar.HOUR_OF_DAY)) + ":";
    	ret += completarCampoReloj(gc.get(GregorianCalendar.MINUTE)) + ":";
    	ret += completarCampoReloj(gc.get(GregorianCalendar.SECOND));
    	
    	return ret;
    }
    
    private String completarCampoReloj(int campo) {
    	if (campo < 10)
    		return "0" + campo;
    	return "" + campo;
    }
	
	
	
}
